x86: change _PAGE_GNTTAB
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 24 Sep 2008 09:23:51 +0000 (10:23 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 24 Sep 2008 09:23:51 +0000 (10:23 +0100)
commitcd5e866be55e01a02992ceba24549ad47ad6b9b7
tree181a0f7a419c424653bcd1563ac2158fa7f0aabc
parent6260fc6e0f9412287b0b87bcd3cbe579c81b0eff
x86: change _PAGE_GNTTAB

Since Linux started to use one of the 3 low available bits, _PAGE_IO
needed to be moved to a different one. Not remembering about
_PAGE_GNTTAB in debug hypervisors, I ended up assigning it to the same
bit, which made the kernel fail on the debug hypervisor. However,
rather than fixing the kernel it seems more appropriate for the
hypervisor to stay away from these bits, not the least because its
definition was anyway accompanied by a warning that this may be
incompatible with certain OSes.

While obviously the hypervisor has to use some bit (and it's therefore
unavoidable that there's some risk of collision), using one of the
high available bits seems to be the better choice over using one of
the three low ones. Since in 32-bit mode these bits are reserved, the
patch disables the functionality here. The only reasonable alternative
I would see is to disable the functionality by default, but add a
command line option to specify which bit to use.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/include/asm-x86/page.h
xen/include/asm-x86/x86_64/page.h